package com.pacs.service;

import java.util.HashMap;
import java.util.Map;
import com.jfinal.aop.Duang;

/**
 * Service的工厂方法
 * 使用工厂方法的主要目的是 为了AOP
 * @author yht
 *
 */
public class ServiceFactory {
	private static final Map<Class<?>, Object> CLASS_MAP = new HashMap<Class<?>, Object>();
	
	/**
	 * 初始化 创建Service
	 */
	public static void init(){
		CLASS_MAP.put(ThreadPoolService.class, 	        Duang.duang(ThreadPoolService.class));
		CLASS_MAP.put(WeixinService.class, 	            Duang.duang(WeixinService .class));
		CLASS_MAP.put(AccountService.class, 	        Duang.duang(AccountService.class));
		CLASS_MAP.put(SmsService.class, 				Duang.duang(SmsService.class));
	}
	
	@SuppressWarnings("unchecked")
	public static <T> T getService(Class<T> c){
		return (T)CLASS_MAP.get(c);
	}
}
